package com.bestcem.xm.qdes.controller.vo;

import com.bestcem.xm.component.mybatis.format.String2JacksonSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 模板库-添加模板-问卷选项选中后查询的问卷详情vo
 */
@Data
public class QuestionLibProjectDetailVo {
    @JsonProperty("id")
    private String id;

    @JsonProperty("created_dt")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createdDt;

    @JsonProperty("updated_dt")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedDt;

    @JsonProperty("created_id")
    private String createdId;

    @JsonProperty("updated_id")
    private String updatedId;

    @JsonProperty("version_id")
    private Integer versionId;

    @JsonProperty("deleted")
    private Boolean deleted;

    @JsonProperty("code")
    private String code;

    @JsonProperty("title")
    private String title;

    @JsonProperty("creator")
    private String creator;

    @JsonProperty("companyID")
    private String companyId;

    @JsonSerialize(using = String2JacksonSerializer.class)
    @JsonProperty("groupList")
    private String groupList;

    @JsonProperty("version")
    private Integer version;

    @JsonProperty("releaseVer")
    private Integer releaseVer;

    @JsonProperty("status")
    private Integer status;

    @JsonProperty("structID")
    private String structId;

    @JsonProperty("logicID")
    private String logicId;

    @JsonProperty("customAttr")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String customAttr;

    @JsonProperty("source")
    private String source;

    @JsonProperty("extID")
    private String extId;

    @JsonProperty("timer_expire")
    private Integer timerExpire;

    @JsonProperty("ptype")
    private Integer ptype;

    @JsonProperty("is_copy_demo")
    private Boolean isCopyDemo;

    @JsonProperty("worktable_info")
    @JsonSerialize(using = String2JacksonSerializer.class)
    private String worktableInfo;

    //@JsonProperty("answer_language")
    //private String answerLanguage;
}
